'\" te
.\" Copyright 2004 Sun Microsystems, Inc. All rights reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH DAD 4D "Oct 24, 2005"
.SH NAME
dad \- driver for IDE disk devices
.SH SYNOPSIS
.LP
.nf
\fBdad@\fR \fItarget\fR,\fIlun\fR:\fIpartition\fR
.fi

.SH DESCRIPTION
.sp
.LP
This driver handles the ide disk drives on SPARC platforms. The type of disk
drive is determined using the ATA IDE identify device command and by reading
the volume label stored on the drive. The \fBdad\fR device driver supports the
Solaris SPARC VTOC and the EFI/GPT disk volume labels.
.sp
.LP
The block-files access the disk using the system's normal buffering mechanism
and are read and written without  regard to physical disk records. There is
also a "raw" interface that provides for direct transmission between the disk
and the user's read or write buffer.  A single read or write call usually
results in one I/O operation; raw I/O is therefore considerably more efficient
when many bytes are transmitted.  The names of the block files are found in
\fB/dev/dsk\fR. Raw file names are found in  \fB/dev/rdsk\fR.
.sp
.LP
I/O requests to the raw device must be aligned on a 512-byte (\fBDEV_BSIZE\fR)
boundary and must have a length that is a multiple of 512 bytes. Requests that
do not meet the restrictions cause the driver to return an \fBEINVAL\fR error.
I/O requests to the block device have no alignment or length restrictions.
.SS "Device Statistics Support"
.sp
.LP
Each device maintains I/O statistics both for the device and for each partition
allocated on that device. For each device/partition, the driver accumulates
reads, writes, bytes read, and bytes written. The driver also takes
hi-resolution time stamps at queue entry and exit points, which facilitates
monitoring the residence time and cumulative  residence-length product for each
queue.
.sp
.LP
Each device also has error statistics associated with it. These must include
counters for hard errors, soft errors and transport errors. Other data may be
implemented as required.
.SH FILES
.sp
.ne 2
.na
\fB\fB/dev/dsk/c\fR\fIn\fR\fBt\fR\fIn\fR\fBd\fR\fIn\fR\fBs\fR\fIn\fR \fR
.ad
.RS 23n
block files
.RE

.sp
.ne 2
.na
\fB\fB/dev/rdsk/c\fR\fIn\fR\fBt\fR\fIn\fR\fBd\fR\fIn\fR\fBs\fR\fIn\fR \fR
.ad
.RS 23n
raw files
.RE

.sp
.LP
where:
.sp
.ne 2
.na
\fB\fBc\fR\fIn\fR \fR
.ad
.RS 7n
controller  \fIn\fR
.RE

.sp
.ne 2
.na
\fB\fBt\fR\fIn\fR \fR
.ad
.RS 7n
IDE target id  \fIn\fR (0-3)
.RE

.sp
.ne 2
.na
\fB\fBd\fR\fIn\fR \fR
.ad
.RS 7n
Always 0.
.RE

.sp
.ne 2
.na
\fB\fBs\fR\fIn\fR \fR
.ad
.RS 7n
partition  \fIn\fR (0-7)
.RE

.sp
.LP
The target ide numbers are assigned as:
.sp
.ne 2
.na
\fB0\fR
.ad
.RS 5n
Master disk on Primary channel.
.RE

.sp
.ne 2
.na
\fB1\fR
.ad
.RS 5n
Slave disk on Primary channel.
.RE

.sp
.ne 2
.na
\fB2\fR
.ad
.RS 5n
Master disk on Secondary channel
.RE

.sp
.ne 2
.na
\fB3\fR
.ad
.RS 5n
Slave disk on Secondary channel.
.RE

.SH IOCTLS
.sp
.LP
Refer to \fBdkio\fR(4I).
.SH ERRORS
.sp
.ne 2
.na
\fB\fBEACCES\fR \fR
.ad
.RS 11n
Permission denied.
.RE

.sp
.ne 2
.na
\fB\fBEBUSY\fR \fR
.ad
.RS 11n
The partition was opened exclusively by another thread.
.RE

.sp
.ne 2
.na
\fB\fBEFAULT\fR \fR
.ad
.RS 11n
Argument was a bad address.
.RE

.sp
.ne 2
.na
\fB\fBEINVAL\fR \fR
.ad
.RS 11n
Invalid argument.
.RE

.sp
.ne 2
.na
\fB\fBEIO\fR \fR
.ad
.RS 11n
 I/O error occurred.
.RE

.sp
.ne 2
.na
\fB\fBENOTTY\fR \fR
.ad
.RS 11n
The device does not  support the requested ioctl function.
.RE

.sp
.ne 2
.na
\fB\fBENXIO\fR \fR
.ad
.RS 11n
The device did not exist during opening.
.RE

.sp
.ne 2
.na
\fB\fBEROFS\fR \fR
.ad
.RS 11n
The device is a read-only device.
.RE

.SH SEE ALSO
.sp
.LP
.BR lseek (2),
.BR read (2),
.BR write (2),
.BR dkio (4I),
.BR driver.conf (5),
.BR vfstab (5),
.BR format (8),
.BR mount (8)
.sp
.LP
X3T10 ATA-4 specifications.
.SH DIAGNOSTICS
.sp
.ne 2
.na
\fB\fBCommand:<\fInumber\fR>\fR, Error:<\fInumber\fR>, Status:<\fInumber\fR>\fR
.ad
.sp .6
.RS 4n
Indicates that the command failed with an error and provides status register
contents. Where <\fInumber\fR> is a hexadecimal value.
.RE

.sp
.ne 2
.na
\fB\fBoffline\fR \fR
.ad
.sp .6
.RS 4n
The driver has decided that the target disk is no longer there.
.RE

.sp
.ne 2
.na
\fB\fBdisk ok\fR \fR
.ad
.sp .6
.RS 4n
The target disk is now responding again.
.RE

.sp
.ne 2
.na
\fB\fBdisk not responding to selection\fR \fR
.ad
.sp .6
.RS 4n
The target disk is not responding.
.RE

.sp
.ne 2
.na
\fB\fBi/o to invalid geometry\fR \fR
.ad
.sp .6
.RS 4n
The geometry of the drive could not be established.
.RE

.sp
.ne 2
.na
\fB\fBincomplete read/write - retrying/giving up\fR \fR
.ad
.sp .6
.RS 4n
There was a residue after the command completed normally.
.RE

.sp
.ne 2
.na
\fB\fBno bp for disk label\fR \fR
.ad
.sp .6
.RS 4n
A bp with consistent memory could not be allocated.
.RE

.sp
.ne 2
.na
\fB\fBno memory for disk label\fR \fR
.ad
.sp .6
.RS 4n
Free memory pool exhausted.
.RE

.sp
.ne 2
.na
\fB\fBATA transport failed: reason 'nnnn': {retrying|giving}\fR \fR
.ad
.sp .6
.RS 4n
The host adapter has failed to transport a command to the target for the reason
stated. The driver will either retry the command or, ultimately, give up.
.RE

.sp
.ne 2
.na
\fB\fBno mem for property\fR \fR
.ad
.sp .6
.RS 4n
Free memory pool exhausted.
.RE

.sp
.ne 2
.na
\fB\fBtransport rejected (<n>)\fR \fR
.ad
.sp .6
.RS 4n
Host adapter driver was unable to accept a command.
.RE

.sp
.ne 2
.na
\fB\fBDevice Fault\fR \fR
.ad
.sp .6
.RS 4n
Device fault - reason for such error is vendor specific.
.RE

